Methods and systems for displaying content based on a scroll pattern

ABSTRACT

Disclosed are systems and methods for displaying content on a user device. For example, a method of displaying content on a user device may include: receiving a first set of content data; arranging and displaying the first set of content in a first sequence of consecutive segments; detecting user input indicative of a scroll pattern of the user through the first sequence of consecutive segments; determining a preferred category based on the detected user input; receiving a second set of content data; arranging the second set of content data into a second sequence of consecutive segments based on the preferred category; and displaying the second set of content data in the arranged second sequence of consecutive segments on the display of the user device.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This patent application is a continuation of and claims the benefit ofpriority to U.S. Nonprovisional patent application Ser. No. 16/886,930,filed on May 29, 2020, the entirety of which is incorporated herein byreference.

TECHNICAL FIELD

Various embodiments of the present disclosure relate generally tomethods and systems for displaying content on a user device, and moreparticularly, to methods and systems for displaying content on a userdevice including a display based on a user scroll pattern.

BACKGROUND

There is limited screen space on a user device, such as a mobile phone,to display content via web and mobile sites, e.g., shopping sitesdemonstrating information about item/service details, informationaland/or news sites, and the like. Conventional methods and systems areconfigured to predetermine what content to show a population of usersfirst. Accordingly, an individual user may need to scroll up or down tosearch for content of interest to the individual user. This may resultin unnecessary scrolling for the individual user, and consequently, mayresult in individual user frustration and/or disengagement frombrowsing. Accordingly, there is a need for a framework that personalizeshow content is displayed to an individual user.

The present disclosure is directed to overcoming one or more of theseabove-referenced challenges. The background description provided hereinis for the purpose of generally presenting the context of thedisclosure. Unless otherwise indicated herein, the materials describedin this section are not prior art to the claims in this application andare not admitted to be prior art, or suggestions of the prior art, byinclusion in this section.

SUMMARY OF THE DISCLOSURE

According to certain aspects of the disclosure, methods and systems aredisclosed for displaying content on a user device including a displaybased on a scroll pattern.

In one aspect, a method is disclosed for displaying content on a userdevice including a display. The method may include: receiving, via oneor more processors, a first set of content data including a first subsetof the first set of content data under a first category and a secondsubset of the first set of content data under a second category;arranging, via the one or more processors, the first set of content datainto a first sequence of consecutive segments, wherein the firstsequence of consecutive segments comprises a first segment including thefirst subset of the first set of content data and a second segmentincluding the second subset of the first set of content data;displaying, via the one or more processors, the first set of contentdata in the arranged first sequence of consecutive segments on thedisplay of the user device, wherein the user device is associated with auser; detecting, via the one or more processors, user input indicativeof a scroll pattern of the user through the first sequence ofconsecutive segments; determining, via the one or more processors, apreferred category based on the detected user input, wherein thepreferred category is the first category or the second category;receiving, via the one or more processors, a second set of content dataincluding a first subset of the second set of content data under thefirst category and a second subset of the second set of content dataunder the second category; arranging, via the one or more processors,the second set of content data into a second sequence of consecutivesegments based on the preferred category, wherein the second sequence ofconsecutive segments comprises a first segment including the firstsubset of the second set of content data and a second segment includingthe second subset of the second set of content data; and displaying, viathe one or more processors, the second set of content data in thearranged second sequence of consecutive segments on the display of theuser device.

In another aspect, there is provided a device for displaying content.The device may include a memory, a display, and one or more processors.The one or more processors may be configured to: receive a first set ofcontent data including a first subset of the first set of content dataunder a first category and a second subset of the first set of contentdata under a second category; arrange the first set of content data intoa first sequence of consecutive segments, wherein the first sequence ofconsecutive segments comprises a first segment including the firstsubset of the first set of content data and a second segment includingthe second subset of the first set of content data; display the firstset of content data in the arranged first sequence of consecutivesegments on the display of the user device, wherein the user device isassociated with a user; detect user input indicative of a scroll patternof the user through the first sequence of consecutive segments;determine a preferred category based on the detected user input, whereinthe preferred category is the first or the second category; receive asecond set of content data including a first subset of the second set ofcontent data under the first category and a second subset of the secondset of content data under the second category; arrange the second set ofcontent data into a second sequence of consecutive segments based on thepreferred category, wherein the second sequence of consecutive segmentscomprises a first segment including the first subset of the second setof content data and a second segment including the second subset of thesecond set of content data; and display the second set of content datain the arranged second sequence of consecutive segments on the display.

In another aspect, there is provided a system for displaying content ona user device including a display and associated with a user. The systemmay include a memory and one or more processors. The one or moreprocessors may be configured to: receive a first set of content dataincluding a first subset of the first set of content data under a firstcategory and a second subset of the first set of content data under asecond category; arrange the first set of content data into a firstsequence of consecutive segments, wherein the first sequence ofconsecutive segments comprises a first segment including the firstsubset of the first set of content data and a second segment includingthe second subset of the first set of content data; cause display of thefirst set of content data in the arranged first sequence of consecutivesegments on the display of the user device; receive detected user inputindicative of a scroll pattern of the user through the first sequence ofconsecutive segments; determine a preferred category based on thereceived detected user input, wherein the preferred category is thefirst or the second category; receive a second set of content dataincluding a first subset of the second set of content data under thefirst category and a second subset of the second set of content dataunder the second category; arrange the second set of content data into asecond sequence of consecutive segments based on the preferred category,wherein the second sequence of consecutive segments comprises a firstsegment including the first subset of the second set of content data anda second segment including the second subset of the second set ofcontent data; and cause display of the second set of content data in thearranged second sequence of consecutive segments on the display.

In another aspect, there is provided a method for displaying content ona user device including a display. The method may include: receiving,via one or more processors, a first set of content data including afirst subset of the first set of content data under a first category anda second subset of the first set of content data under a secondcategory; arranging, via the one or more processors, the first set ofcontent data into a first sequence of consecutive segments, wherein thefirst sequence of consecutive segments comprises a first segmentincluding the first subset of the first set of content data and a secondsegment including the second subset of the first set of content data;displaying, via the one or more processors, the first set of contentdata in the arranged first sequence of consecutive segments on thedisplay of the user device; detecting, via the one or more processors,user input indicative of a scroll pattern of the user through the firstsequence of consecutive segments; determining, via the one or moreprocessors, a preferred category based on the detected user input,wherein the preferred category is the first category or the secondcategory; receiving, via the one or more processors, a second set ofcontent data including a first subset of the second set of content dataunder the first category and a second subset of the second set ofcontent data under the second category; identifying, via the one or moreprocessors, the subset of the second set of content data associated withthe preferred category; arranging, via the one or more processors, thesecond set of content data into a second sequence of consecutivesegments, wherein the second sequence of consecutive segments comprisesa first segment including the first subset of the second set of contentdata and a second segment including the second subset of the second setof content data; duplicating, via the one or more processors, theidentified segment associated with the preferred category; aggregating,via the one or more processors, the duplicated segment associated withthe preferred category and the second set of content data arranged inthe second sequence of consecutive segments; and displaying, via the oneor more processors, the aggregated duplicated segment and the second setof content data in the arranged second sequence of consecutive segmentson the display of the device.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate various exemplary embodiments andtogether with the description, serve to explain the principles of thedisclosed embodiments.

FIG. 1 depicts an exemplary system infrastructure, according to one ormore embodiments.

FIG. 2 depicts an exemplary user device and an exemplary contentprovider, according to one or more embodiments.

FIGS. 3A-3D depict exemplary embodiments of content data, according toone or more embodiments.

FIGS. 4A-4C depict exemplary embodiments of arranging content data,according to one or more embodiments.

FIGS. 5A-5B depict exemplary embodiments of arranging content data,according to one or more embodiments.

FIG. 6 depicts a flowchart of an exemplary method of displaying contenton a user device, according to one or more embodiments.

FIG. 7 depicts a flowchart of an exemplary method of displaying contenton a user device, according to one or more embodiments.

FIG. 8 depicts an example of a computing device, according to one ormore embodiments.

DETAILED DESCRIPTION OF EMBODIMENTS

The terminology used below may be interpreted in its broadest reasonablemanner, even though it is being used in conjunction with a detaileddescription of certain specific examples of the present disclosure.Indeed, certain terms may even be emphasized below; however, anyterminology intended to be interpreted in any restricted manner will beovertly and specifically defined as such in this Detailed Descriptionsection. Both the foregoing general description and the followingdetailed description are exemplary and explanatory only and are notrestrictive of the features, as claimed.

In this disclosure, the term “based on” means “based at least in parton.” The singular forms “a,” “an,” and “the” include plural referentsunless the context dictates otherwise. The term “exemplary” is used inthe sense of “example” rather than “ideal.” The terms “comprises,”“comprising,” “includes,” “including,” or other variations thereof, areintended to cover a non-exclusive inclusion such that a process, method,or product that comprises a list of elements does not necessarilyinclude only those elements, but may include other elements notexpressly listed or inherent to such a process, method, article, orapparatus. Relative terms, such as, “substantially” and “generally,” areused to indicate a possible variation of ±10% of a stated or understoodvalue.

FIG. 1 illustrates an exemplary system 100, which may encompass aspectsof the embodiments disclosed herein, and/or in which steps of methodsdisclosed herein may be performed. System 100 may include a network 115,which may connect (e.g., permit communication between) a user device110, content providers 120, account institutions 130, and server systems140.

System 100 may include computer hardware, computer software, and/orcombinations of both associated with each aspect of system 100. Aspectsof system 100 may be located in similar or disparate locations. In someinstances, for example, user device 110, content providers 120, andserver systems 140 may each be in separate physical locations (e.g., onseparate computer systems, in separate databases, and/or in separategeographic locations). In some instances, for example, multiple userdevices 110, multiple content providers 120, and multiple server systems140 may be located in separate geographical locations. In furtherinstances, two or more of the aspects of system 100 may be located inthe same physical location, e.g., on the same computer, in the samedatabase, or in the same geographic location. For example, a contentprovider 120 may house a server system 140 at a geographic location.

Aspects and components of system 100 may be connected by wired orwireless connections. Some such connections are represented by thestraight lines connecting some of the aspects of system 100 in FIG. 1 ;however, it is contemplated that additional or different wired orwireless connections may exist between aspects of system 100. Wired orwireless connections between aspects of system 100 may include, forexample, connections within a single machine, or wired or wirelessconnections over a local area network or a wide area network (e.g., theInternet). Furthermore, while aspects of system 100 are shown in FIG. 1, it is contemplated that system 100 may include more components, fewercomponents, and/or alternate or additional configurations of thedepicted components.

Network 115 may be any suitable wired or wireless network, orcombination of wired or wireless networks. For example, in someembodiments, network 115 may include a local area network (LAN), widearea network (WAN), a public switch telephone network (PSTN), and/or theInternet. Generally, network 115 may serve to electronically connect twoor more components of system 100, or two or more computers, electronicterminals, databases, servers, devices, user interfaces, or otherelectronic aspects of one or more components of system 100. Any part ofsystem 100 may be connected directly to another (e.g., via a wired orwireless connection) over network 115, or may be connected indirectlyvia one or more intermediary servers, computers, LANs, WANs, routers,etc. to another part or parts of system 100. In some embodiments,network 115 may be simply a plurality of electronic connections betweendevices, servers, and the like.

User device 110 may be a device suitable for connecting to othercomponents of system 100 via network 115. A user 105 of the user device110 may be a customer, subscriber, party to an agreement of, orotherwise associated with one or more content providers 120. In someembodiments, the user 105 of the user device 110 may be enrolled in oneor more programs, rosters, account types, services, etc. of a contentprovider 120. In some embodiments, the user device 110 may include anytype of computing device, such as a mobile and/or desktop computingdevice, comprising a display 112. For example, the user device 110 maybe a smartphone, wearable computing device, tablet computer, laptop,desktop computer, and/or vehicle computer systems. The user device 110may be configured to receive content data from content providers 120, aswill be described in further detail below. Such received content datamay be displayed to the user 105 via the display 112.

Content providers 120 may include any institutions, businesses,individuals, or organizations capable of transmitting content to theuser device 110. In some embodiments, the content providers 120 mayinclude a service provider 125 and/or a merchant service provider 123.

Service providers 125 (also referred to as merchants in some instances)may include any institutions, businesses, individuals, or organizationsproviding services or products (also referred to as items) to, e.g.,users within system 100 (e.g., user 105 of the user device 110).Nonlimiting examples of service providers 125 may include merchants(e.g., automobile companies, automobile dealerships, clothing companies,book companies, household good suppliers, etc.), medical serviceproviders (e.g., hospitals, doctors, surgical centers, diagnosticslaboratories, emergency responders, etc.), professional serviceproviders (e.g., accountants, lawyers, insurance companies), etc. Insome embodiments, service providers 125 may require payments from a userin exchange for services performed or products purchased. In someembodiments, a service provider 125 may be associated with merchantservices provider 123 for processing a payment from a user to theservice provider 125. In some embodiments, merchant services provider123 may include one or more servers or server systems storingtransaction details related to transactions between users, e.g., user105, and service providers 125. Such servers or server systems may beconnected to other aspects of system 100 via one or more connections,such as via network 115.

Account institutions 130 may be any entities or organizations offeringaccounts to users, e.g., user 105 of the user device 110. An account maybe any type of account directly or indirectly related to a user'sfinances. Examples include bank accounts, investment accounts, loanaccounts (e.g., for auto loans, student loans, mortgages, or otherloans), credit accounts, or accounts for managing regular payments(e.g., student or tuition accounts, leases, etc.). In some embodiments,account institutions 130 may include one or more servers or serversystems storing the details of accounts associated with users. Suchservers or server systems may be connected to other aspects of system100 via one or more connections, such as via network 115. In somesituations, an account institution 130 may also be a merchant servicesprovider 123, or vice versa.

Server system 140 may comprise one or more computers, and may beconfigured to house databases or other electronic storage systems.Further, server system 140 may be configured to store and/or execute oneor more functions, algorithms, or manipulations of data housed within itor transferred to it. In some embodiments, server system 140 may receiveand send data via, e.g., network 115, and may store, manipulate, orperform calculations using such data. Server system 140 may also beconfigured or authorized to access, send, retrieve, or manipulate datafrom other aspects of system 100, such as from content providers 120. Insome embodiments, server system 140 may house one or more machinelearning algorithms and may execute such algorithms according to methodsof the present disclosure. In some embodiments, server system 140 mayinclude one or more modules, models, or engines, which may each besoftware components stored in the server system 140. Server system 140may be configured to utilize one or more modules, models, or engineswhen performing various methods described in this disclosure.

In some examples, server system 140 may have a cloud computing platformwith scalable resources for computation and/or data storage, and may runone or more applications on the cloud computing platform to performvarious computer-implemented methods described in this disclosure. Insome embodiments, some of the one or more modules, models, or enginesmay be combined to form fewer modules, models, or engines. In someembodiments, some of the one or more modules, models, or engines may beseparated into separate, more numerous modules, models, or engines. Insome embodiments, some of the one or more modules, models, or enginesmay be removed while others may be added. While one server system 140 isdepicted in FIG. 1 , it is contemplated that, in some aspects, multipleserver systems 140 may be a part of systems of the present disclosureand/or may execute methods of the present disclosure in concert.

FIG. 2 depicts an exemplary embodiment of the user device 110 and thecontent provider 120, according to one or more embodiments. As shown inFIG. 2 , the content provider 120 may include a data store 212, acontent data provider module 214, and a user preference module 216. Insome embodiments, the content data provider module 214 may generate andtransmit content data sets for distribution to user device 110. Forexample, content data provider module 214 may be configured to providecontent, such as one or more documents, including web documents andother web resources. The stream of content may include a predeterminedset of content data in a set order. In some embodiments, user preferencemodule 216 may be configured to receive analyzed user interactions,preferences associated with a user based on the analyzed userinteractions, and/or a rearranged set of content data from the userdevice 110, as will be described in further detail below. In suchembodiments, the received analyzed user interactions, preferencesassociated with a user based on the analyzed user interactions, and/orrearranged set of content data may be stored in the data store 212. Thereceived information may be used by the content data provider module 214to rearrange a predetermined set of content data that was previously ina set order.

As shown in FIG. 2 , the user device 110 may include the display 112, auser interface device 202, a data store 204, a content data arrangementmodule 206, a user interaction detection module 208, and a userinteraction analysis module 210 according to some embodiments. In someembodiments, content data arrangement module 206, user interactiondetection module 208, and/or user interaction analysis module 210 may beincluded in a package, e.g., a software package, that may be provided byserver system 140 or content providers 120. For example, the package maybe downloaded on user device 110 and installed as an application on userdevice 110 including content data arrangement module 206, userinteraction detection module 208, and/or user interaction analysismodule 210.

The content data arrangement module 206 may be configured to receive andarrange content data transmitted by the content provider 120. In someembodiments, the received content data may include a set of content dataincluding two or more subsets of content data, e.g., a first subset anda second subset of the set of content data. In some embodiments, thereceived content data may include metadata indicating that the two ormore subsets of content data be arranged in a specific order. Forexample, the metadata may indicate that the first subset and the secondsubset be placed consecutively in a sequence where the second subsetfollows the first subset. In some embodiments, each subset of contentdata may include information indicating the position of the respectivesubset relative to the received set of content data. Accordingly, thecontent data arrangement module 206 may arrange the set of content datasuch that the set of content data is displayed to the user (e.g., user105) on the display 112 in the arranged sequence, e.g., the secondsubset following the first subset. An exemplary embodiment of thearranged set of content data is depicted in and described below withreference to FIGS. 3A-3D.

In some embodiments, each subset of the content data may be associatedwith a different category of information. For example, the content datamay be related to an automobile for sale, as will be described infurther detail below with reference to FIGS. 3A-3D. Accordingly, eachsubset of content data may be associated with a different category ofinformation with reference to the automobile for sale. In suchinstances, a subset of content data may include information associatedwith a price for the automobile for sale, e.g., price category. Anothersubset of content data may include a high level summary of theautomobile for sale, e.g., automobile summary category. Yet anothersubset of the content data may include miscellaneous features regardingthe automobile for sale, e.g., other features category. While thedifferent category of information is described with reference to anautomobile for sale, it is understood that the content data may berelated to any information provided by the content provider 120.Accordingly, the categories associated with the one or more subset ofcontent data may vary in other embodiments.

The user interface device 202 may include one or more devices configuredto allow a user (e.g., user 105) to interact with content data shown onthe display 112, such as a mouse, a keyboard, a keypad, a wheel device,a ball device, a track device, a joystick, a stylus, a touch screenincluding but not limited to resistive and/or capacitive touch screens,any other touch interface, or any other device that allows a user tointeract with content data shown on the display 112.

The user interaction detection module 208 may be configured to detectuser interaction with the content data shown on the display 112. Forexample, the user interaction detection module 208 may be configured todetect user input via the user interface device 202. In someembodiments, the user interaction detection module 208 may be configuredto detect user input indicative of a scroll pattern. In someembodiments, the scroll pattern may include any type of gesture, avelocity of gestures performed, a pause in between gestures, a pressureof gestures performed, any repetition of gestures, speed of gesturesperformed, etc. In some embodiments, the user interaction detectionmodule 208 may be configured to detect user input indicative of a term,a phrase, and/or a letter of the term and/or phrase. For example, theuser interaction detection module 208 may detect that the user has inputa letter, e.g., “S,” or a term, e.g., “satellite,” on a keyboard and/ora virtual keyboard via a touch screen.

The user interaction analysis module 210 may be configured to analyzethe user interactions detected by the user interaction detection module208. In some embodiments, the user interaction analysis module 210 maydetermine a user preference with respect to the content data based onthe user input detected by the user interaction detection module 208.For example, the user interaction detection module 208 may detect that auser has scrolled through the arranged set of content data and pausedthe scrolling motion at a certain point in the arranged set of contentdata. The user interaction analysis module 210 may determine one or moresubsets of content data that is being displayed to the user when theuser has paused the scroll motion. In some embodiments, the userinteraction analysis module 210 may be configured to determine whetherthe user has paused the scroll motion for a predetermined amount oftime, and determine that the one or more subsets of content data beingdisplayed to the user is of interest to the user as a result ofdetermining that the user has paused the scroll motion longer than thepredetermined amount of time.

In some embodiments, the duration of the pause that indicates userinterest may be determined or the detected pause may be weighted fordetermining the user interest based on the one or more subsets ofcontent data being displayed to the user. For example, if the displayedcontent data includes one subset including small-sized text (e.g.,content relatively time consuming and/or difficult to understand for theuser) and an adjacent subset including one or more figures and/orlarge-sized text (e.g., content relatively quick and/or easy tounderstand for the user), a relatively short pause while displaying thetwo subsets may indicate that the user is interested in the subset thatis relatively quick and easy to understand. Similarly, a relatively longpause while displaying the two subsets may indicate that the user isinterested in the subset that is relatively time consuming and/ordifficult to understand. In some embodiments, a pause initiated afterscrolling to the bottom of the content data may be excluded from thedetermination of user interest in the content data. In some embodiments,a threshold time duration may be set such that a pause that exceeds thethreshold time duration may be excluded from the determination of userinterest in the content data or assigned a lower weight with referenceto determining the user interest in the content data.

In some embodiments, each subset included in the arranged set of contentdata may be allocated a predicted pause duration. The predicted pauseduration for each subset may be determined based on historic userpreferences and uses. For example, the predicted pause duration may bean average pause duration based on historic user preferences and uses.Such predicted pause durations may be based on aggregated data (e.g.,historic user preferences and uses) and/or statistical modeling based onfeatures such as content amount (e.g., number of words), contentcomplexity (e.g., content including abstract concepts or straightforwardconcepts), etc. Accordingly, the user interaction analysis module 210may be configured to determine whether a detected pause duration exceedsa predicted pause duration for a displayed subset of the arranged set ofcontent data. For example, the user interaction analysis module 210 maydetermine that the user is interested in a displayed subset in which thedetected pause duration exceeds the predicted pause duration for thedisplayed subset.

In some embodiments, the user interaction detection module 208 maydetect random scroll patterns. In such embodiments, the user interactionanalysis module 210 may determine that the random scroll pattern mayindicate that the user may be searching for content. In someembodiments, the user interaction detection module 208 may detect aneven scroll pattern. In such embodiments, the user interaction analysismodule 210 may determine that the user may be engaged with the currentlydisplayed content. In some embodiments, the user detection module 208may detect a speed increase in scroll pattern. In such embodiments, theuser interaction analysis module may determine that the user may bedisengaged or is becoming less engaged. In some embodiments, the userinteraction detection module 208 may detect a letter, term, and/orphrase input provided by the user via the user interface device 202. Insuch embodiments, the user detection module 208 may determine that theuser may be interested in content containing such letter, term, and/orphrase. For example, the user may be searching for a specific featurethat starts with an “s” (e.g., satellite radio). In such instances, theuser may input the letter “s” via the user interface device 202 and suchinput may be detected by the user interaction detection module 208.Accordingly, the user interaction analysis module 210 may determine thatthe user may be interested in content containing, or starting with, theletter “s.”

Accordingly, the user interaction analysis module 210 may be configuredto determine a user preference with respect to the subsets. In someembodiments, the user interaction analysis module 210 may be configuredto determine one or more subsets on the set of the content data may beof interest to the user. As described above, each subset may beassociated with a category of information. In some embodiments, the userinteraction analysis module 210 may be configured to determine one ormore categories of information that may be of interest to the user. Insome embodiments, the user interaction analysis module 210 may beconfigured to determine a user preference based on a plurality of setsof content data. For example, the user interaction detection module 208may detect user input for a first set of content data and a second setof content data received from one or more content providers 120. In suchinstances, the user interaction analysis module 210 may be configured todetermine the user preference based on the detected user input based onthe first and second sets of content data. While only two sets ofcontent data are described, it is understood that the user interactionanalysis module may determine the user preference based on detected userinput from three or more sets of content data.

Referring back to the content data arrangement module 206, the contentdata arrangement module 206 may be configured to rearrange the receivedcontent data based on the user interactions detected by user interactiondetection module 208 and analyzed by the user interaction analysismodule 210. In some embodiments, the content data arrangement module 206may be configured to receive new content data and arrange the receivednew content data based on the user interactions analyzed by the userinteraction analysis module 210. For example, the content dataarrangement module 206 may obtain a category of information preferred bythe user from the user interaction analysis module 210. In suchinstances, the content data arrangement module 206 may identify a subsetof the new content data that is associated with the preferred categoryof information. Accordingly, the content data arrangement module 206 maybe configured to arrange the received new content data based on theidentified subset associated with the preferred category of information.In some embodiments, the content data arrangement module 206 mayrearrange the set of content data or arrange the set of new content datasuch that one or more subsets of most interest to the user may bedisplayed to user prior to the remaining subsets, as will be describedin further detail below with reference to FIGS. 4A-4C and 5A-5B. In someembodiments, the analyzed user interactions, the preferences associatedwith the user based on the analyzed user interactions, the receivedcontent data, and the rearranged set of content data may be stored inthe data store 204. In some embodiments, the analyzed user interactions,preferences associated with the user based on the analyzed userinteractions, and/or the rearranged content data may be transmitted tothe content provider 120. In such embodiments, user preference module216 may set the rearranged set of content data as the default order forthe next transmission of the same set of content data set to the userdevice 110 or any other user device. In some embodiments, userpreference module 216 may adjust a predetermined set order for the setof content data based on the received analyzed user interactions,preferences associated with the user based on the analyzed userinteractions, and/or the rearranged content data.

FIGS. 3A-3D depict an exemplary embodiment of a set of content data 300displayed on the user device 110 according to one or more embodiments.FIG. 3A shows a set of content data 300 associated with a vehicledetails page (VDP). As shown in FIG. 3A, the set of content data 300 maybe arranged in the order received from the content provider 120. Forexample, the content data arrangement module 206 may arrange the set ofcontent data 300 as shown in FIG. 3A. The set of content data 300 mayinclude a plurality of subsets 302 a-302 h including informationdirected to an automobile for sale. As shown in FIG. 3A, the set ofcontent data 300 may include a first subset 302 a including informationdirected to the model, make, and year of the automobile. The firstsubset 302 a may be associated with a category of information, e.g.,title category. A second subset 302 b may include a price for theautomobile for sale. Similarly, the second subset 302 b may beassociated with a category of information, e.g., price category. A thirdsubset 302 d may include automobile information associated with theautomobile for sale. For example, the automobile information may includemiles per gallon (mpg), mileage, etc. The third subset 302 d may beassociated with a category of information, e.g., automobile informationcategory. A fourth subset 302 g may include information directed toother features associated with the automobile for sale. In someembodiments, the information directed to the other features may includea list of car features, e.g., air conditioning, Bluetooth, powersteering, heated seats, etc. In some embodiments, the informationdirected to the other features may be listed in a predetermined order,e.g., alphabetical order. The fourth subset 302 g may also be associatedwith a category of information, e.g., other features category. For thepurpose of conciseness and simplicity, four subsets 302 a, 302 b, 302 d,302 g have been described. It is understood, however, that the set ofcontent data 300 may include further subsets, e.g., 302 c, 302 e-302 fand 302 h (e.g., payment calculation, dealership information,identification details, etc.) or more subsets, or less subsets inalternative embodiments. It is also understood, that the set of contentdata 300 may be directed to any type of merchandise and/or service otherthan an automobile for sale in some embodiments.

FIG. 3A also depicts how the set of content data 300 may be shown to auser on the display 112 of the user device 110. As shown in FIG. 3A, thedisplay 112 may show a portion of the set of content data 300 and theuser may scroll up or down, as indicated by direction A, to accessdifferent portions of the set of content data 300, as shown in FIGS.3B-D.

In some embodiments, a user (e.g., user 105) may be interested in aspecific subset of the content data 300. For example, the user may beinterested in the subset 302 h including information regarding thedealership information for the automobile for sale. In such instances,the user may scroll down the set of content data 300 to subset 302 h, asshown in FIG. 3D. In some embodiments, the user interaction detectionmodule 208 may be configured to detect that the user has scrolled downto the set of content data 300 including subset 302 h. For example, theuser interaction detection module 208 may detect that the user hascontinuously scrolled down to subset 302 h and paused for a period oftime. In some embodiments, the user interaction analysis module 210 maybe configured to determine that the user is interested in subset 302 hbased on the user input detected by the user interaction detectionmodule 208. For example, the user interaction analysis module 210 maydetermine that the user is interested in subset 302 h based on thescrolling velocity, scrolling acceleration, and the duration of thepause. Accordingly, the user interaction analysis module 210 may furtherdetermine that the user is interested in a category of informationassociated with the subset 302 h.

In such embodiments, the content data arrangement module 206 may beconfigured to rearrange the set of content data 300 to a rearranged setof content data 400 as shown in FIGS. 4A-4C. In some embodiments, thecontent data arrangement module 206 may be configured to receive a newset of content data including one or more subsets that overlap with theset of content data 300. In such embodiments, the content dataarrangement module 206 may be configured to identify a subset in the newset of content data that may be associated with a preferred subset inthe set of content data 300. For example, the content data arrangementmodule 206 may be configured to determine a category associated with thepreferred subset in the set of content data 300 and identify the subsetin the new set of content data associated with the determined category.Accordingly, the content data arrangement module 206 may be configuredto arrange the new set of content data as shown in FIGS. 4A-4C based onthe subset associated with the determined category.

FIG. 4A depicts an exemplary embodiment of the rearranged set of contentdata 400 according to some embodiments. In the example depicted in FIG.4A, the content data arrangement module 206 may be configured torearrange the set of content data 300 such that subset 302 h ispositioned at the top of the set of content data 300, thereby obtainingthe rearranged set of content data 400 (subset 302 h in dashed linesdepicted in FIG. 4A indicates the position of the subset 302 h prior tobeing rearranged). As shown in FIG. 4A, the rearranged set of contentdata 400 may allow a user to view the subset 302 h on the display 112before the remaining subsets. It is understood that the subset 302 h maybe rearranged to any position within the set of content data 300 in someembodiments.

FIG. 4B depicts another exemplary embodiment of the rearranged set ofcontent data 400 according to some embodiments. In the example depictedin FIG. 4B, the content data arrangement module 206 may be configured toduplicate the subset 302 h and aggregate the duplicated subset 302 hwith the set of content data 300, thereby obtaining the rearranged setof content data 400. As shown in FIG. 4B, the rearranged set of contentdata 400 may allow a user to view the duplicated subset 302 h on thedisplay 112 before the remaining subsets. It is understood that theduplicated subset 302 h may be aggregated with the set of content data300 such that the duplicated subset 302 h may be in located any positionwithin the set of content data 300 in some embodiments.

FIG. 4C depicts another exemplary embodiment of the rearranged set ofcontent data 400 according to some embodiments. In the example depictedin FIG. 4C, the content data arrangement module 206 may be configured toautomatically scroll down the set of content data 300 to the subset 302h such that the user may view the subset 302 h on the display 112without having to scroll down to it. While FIGS. 4A-4C have beendescribed with reference to subset 302 h, it is understood that theembodiments disclosed with reference to FIGS. 4A-4C may be applied anyone or more subsets included in other sets of content data, e.g., newsets of content data, in some embodiments.

In some embodiments, the user interaction analysis module 210 maydetermine that the user is interested in certain content within a subsetof a set of content data based on user input detected by the userinteraction detection module 208. In some embodiments, a subset of acontent data may include information with a plurality of items. Forexample, the subset 302 g may include information directed to otherfeatures associated with the automobile for sale, as shown in FIG. 3D.The information directed to the other features may include a list ofitems 502 a-502 d, e.g., a list of car features such as airconditioning, Bluetooth, power steering, heated seats, etc., as shown inFIG. 5A. The items 502 a-502 d may initially be arranged in alphabeticalorder (or any other predetermined order). For example, item 502 a may beair conditioning, item 502 b may be Bluetooth, item 502 c may be heatedseats, and item 502 d may be power steering. As an example, the userinteraction analysis module 210 may determine that the user is alwaysinterested in power steering, item 502 d. In such instances, the contentdata arrangement module 206 may be configured to rearrange the list ofitems included in subset 302 g as shown in FIG. 5B. In some embodiments,the list of items may be rearranged such that item 502 d is positionedat the top of the list of items (item 502 d in dashed lines depicted inFIG. 5B indicates the position of the item 502 d prior to beingrearranged). In some embodiments, the item 502 d may be duplicated andthe duplicated item 502 d may be aggregated to the list of items. Insome embodiments, text and/or figures included in item 502 d may bebolded and/or otherwise emphasized to draw the user's interest.

Referring back to the determination of whether the user is interested incertain content within a subset of a set of content data, the userinteraction analysis module 208 may determine which portions of thesubset of the set of content data is visible to the user on the display112 when the user has stopped scrolling. That is, the user interactionanalysis module 208 may extract the visible portions of the subset andstore the extracted portions in the data store 204 (hereinafter referredto as the “first extracted portions”). The next time the user scrollsdown to the subset of the set of content data, the user interactionanalysis module 208 may again extract the visible portions of the subsetto the user and store the extracted portions in the data store 204(hereinafter referred to as the “second extracted portions”). In someembodiments, the user interaction analysis module 208 may crossreference the first extracted portions and the second extracted portionsto determine overlap between the two extracted portions. The userinteraction analysis module 208 may continue to extract further portionsand cross reference with the additional extracted portions to determinewhether the user is interested in certain content within a subset of aset of content data and/or to refine a presentation order of content300. For example, the user may be searching for specific content, suchas, for example, satellite radio. In such instances, the first extractedportions and the second extracted portions may both include the term“satellite radio” along with other ancillary information. Accordingly,the user interaction analysis module 208 may be configured to identify“satellite radio” as specific content that the user may be interestedin.

FIG. 6 depicts a flowchart of an exemplary process 600 of displayingcontent on a user device (e.g., user device 110) according to one ormore embodiments, and may be performed in the exemplary environment ofFIG. 1 . Process 600 may, in some embodiments, begin with step 602, inwhich a first set of content data may be received. The first set ofcontent data may include a first subset of the first set of content dataunder a first category and a second subset of the first set of contentdata under a second category. In step 604, the first set of content datamay be arranged into a first sequence of consecutive segments. In someembodiments, the first sequence of consecutive segments comprises afirst segment including the first subset of the first set of contentdata and a second segment including the second subset of the first setof content data. In step 606, the first set of content data may bedisplayed in the arranged first sequence of consecutive segments on thedisplay of the user device, wherein the user device is associated with auser. In step 608, user input indicative of a scroll pattern of the userthrough the first sequence of consecutive segments may be detected. Instep 610, a preferred category may be determined based on the detecteduser input. In some embodiments, the preferred category is the firstcategory or the second category.

In step 612, a second set of content data may be received. The secondset of content data may include a first subset of the second set ofcontent data under the first category and a second subset of the secondset of content data under the second category. In step 614, the secondset of content data may be arranged into a second sequence ofconsecutive segments based on the preferred category. In someembodiments, the second sequence of consecutive segments comprises afirst segment including the first subset of the second set of contentdata and a second segment including the second subset of the second setof content data. In step 616, the second set of content data may bedisplayed in the arranged second sequence of consecutive segments on thedisplay of the user device.

In some embodiments, process 600 may include a further step in which thefirst subset of the second set of content data or the second subset ofthe second set of content data may be identified as the segmentassociated with the preferred category. In some embodiments, process 600may further include storing the second sequence of consecutive segmentsas a default sequence of consecutive segments for another user.

In some embodiments, the identified segment may be the first subset ofthe second set of content data, and arranging the second set of contentdata into the second sequence of consecutive segments based on thepreferred category may include arranging the second set of content datainto the second sequence of consecutive segments such that the firstsubset of the second set of content data is followed by the secondsubset of the second set of content data.

In some embodiments, the identified segment may be the first subset ofthe second set of content data, and displaying the second set of contentdata in the arranged second sequence of consecutive segments on thedisplay of the user device may include displaying the first subset ofthe second set of content data to the user of the user device before thesecond subset of the second set of content data.

In some embodiments, the identified segment may be the first subset ofthe second set of content data, and displaying the second set of contentdata in the arranged second sequence of consecutive segments on thedisplay of the user device may include automatically scrolling throughthe displayed second sequence of consecutive segments to the firstsubset of the second set of content data.

In some embodiments, detecting user input indicative of the scrollpattern of the user through the first sequence of consecutive segmentsmay include: detecting a pause in the scroll pattern of the user;determining whether the pause exceeds a predetermined period of time;and determining a segment displayed to the user during the pause basedon a determination that the pause exceeds the predetermined period oftime, wherein the displayed segment comprises the first segmentincluding the first subset of the first set of content data or thesecond segment including the second subset of the first set of contentdata.

In some embodiments, determining the preferred category based on thedetected user input may include determining a category associated withthe displayed segment, wherein the category comprises the first categoryor the second category.

In some embodiments, process 600 may further include determining whetherthe first category or the second category had been determined as apreviously preferred category; and determining, based on a determinationthat the first category had been determined as a previously preferredcategory, whether the first category is the preferred category based onthe detected user input indicative of the scroll pattern of the userthrough the first sequence of the consecutive segments.

In some embodiments, process 600 may further include: detecting userinput indicative of a second scroll pattern of the user through thesecond sequence of consecutive segments; and determining a differencebetween the scroll pattern of the user and the second scroll pattern ofthe user.

FIG. 7 depicts a flowchart of an exemplary process 700 of displayingcontent on a user device (e.g., user device 110) according to one ormore embodiments, and may be performed in the exemplary environment ofFIG. 1 . Process 700 may, in some embodiments, begin with step 702, inwhich a first set of content data may be received. In some embodiments,the first set of content data may include a first subset of the firstset of content data under a first category and a second subset of thefirst set of content data under a second category. In step 704, thefirst set of content data may be arranged into a first sequence ofconsecutive segments. In some embodiments, the first sequence ofconsecutive segments comprises a first segment including the firstsubset of the first set of content data and a second segment includingthe second subset of the first set of content data. In step 706, thefirst set of content data may be displayed in the arranged firstsequence of consecutive segments on the display of the user device. Instep 708, user input indicative of a scroll pattern of the user may bedetected through the first sequence of consecutive segments. In step710, a preferred category may be determined based on the detected userinput. In some embodiments, the preferred category is the first categoryor the second category.

In step 712, a second set of content data may be received. In someembodiments, the second set of content data may include a first subsetof the second set of content data under the first category and a secondsubset of the second set of content data under the second category. Instep 714, the subset of the second set of content data associated withthe preferred category may be identified. In step 716, the second set ofcontent data may be arranged into a second sequence of consecutivesegments. In some embodiments, the second sequence of consecutivesegments comprises a first segment including the first subset of thesecond set of content data and a second segment including the secondsubset of the second set of content data.

In step 718, the identified subset of the second content data associatedwith the preferred category may be duplicated. In step 720, theduplicated subset associated with the preferred category and the secondset of content data arranged in the second sequence of consecutivesegments may be aggregated. In step 722, the aggregated duplicatedsubset and the second set of content data in the arranged secondsequence of consecutive segments may be displayed on the display of thedevice.

In general, any process discussed in this disclosure that is understoodto be computer-implementable, such as the processes illustrated in FIGS.6-7 may be performed by one or more processors of a computer system,such as user device 110, one or more computers associated with servicesystems 140, and/or one or more computers associated with contentproviders 120, as described above. A process or process step performedby one or more processors may also be referred to as an operation. Theone or more processors may be configured to perform such processes byhaving access to instructions (e.g., software or computer-readable code)that, when executed by the one or more processors, cause the one or moreprocessors to perform the processes. The instructions may be stored in amemory of the computer system. A processor may be a central processingunit (CPU), a graphics processing unit (GPU), or any suitable types ofprocessing unit.

A computer system, such as user device 110, a computer system of serversystem 140, or a computer system of content provider 120, may includeone or more computing devices. If the one or more processors areimplemented as a plurality of processors, the plurality of processorsmay be included in a single computing device or distributed among aplurality of computing devices. If a computer system comprises aplurality of computing devices, the memory of the computer system mayinclude the respective memory of each computing device of the pluralityof computing devices.

FIG. 8 illustrates an example of a computing device 800 of a computersystem, such as user device 110, a computer system of server system 140,or a computer system of content provider 120. As shown in FIG. 8 ,device 800 (e.g., user device 110, content providers 120, and/or serversystems 140) may include a central processing unit (CPU) 820. CPU 820may be any type of processor device including, for example, any type ofspecial purpose or a general-purpose microprocessor device. As will beappreciated by persons skilled in the relevant art, CPU 820 also may bea single processor in a multi-core/multiprocessor system, such systemoperating alone, or in a cluster of computing devices operating in acluster or server farm. CPU 820 may be connected to a data communicationinfrastructure 810, for example, a bus, message queue, network, ormulti-core message-passing scheme.

Device 800 may include a main memory 840, for example, random accessmemory (RAM), and also may include a secondary memory 830. Secondarymemory 830, e.g., a read-only memory (ROM), may be, for example, a harddisk drive or a removable storage drive. Such a removable storage drivemay comprise, for example, a floppy disk drive, a magnetic tape drive,an optical disk drive, a flash memory, or the like. The removablestorage drive in this example reads from and/or writes to a removablestorage unit in a well-known manner. The removable storage unit maycomprise a floppy disk, magnetic tape, optical disk, etc., which is readby and written to by the removable storage drive. As will be appreciatedby persons skilled in the relevant art, such a removable storage unitgenerally includes a computer usable storage medium having storedtherein computer software and/or data.

In alternative implementations, secondary memory 830 may include othersimilar means for allowing computer programs or other instructions to beloaded into device 800. Examples of such means may include a programcartridge and cartridge interface (such as that found in video gamedevices), a removable memory chip (such as an EPROM, or PROM) andassociated socket, and other removable storage units and interfaces,which allow software and data to be transferred from a removable storageunit to device 800.

Device 800 also may include a communications interface (“COM”) 860.Communications interface 860 allows software and data to be transferredbetween device 800 and external devices. Communications interface 860may include a modem, a network interface (such as an Ethernet card), acommunications port, a PCMCIA slot and card, or the like. Software anddata transferred via communications interface 860 may be in the form ofsignals, which may be electronic, electromagnetic, optical, or othersignals capable of being received by communications interface 860. Thesesignals may be provided to communications interface 860 via acommunications path of device 800, which may be implemented using, forexample, wire or cable, fiber optics, a phone line, a cellular phonelink, an RF link or other communications channels.

The hardware elements, operating systems and programming languages ofsuch equipment are conventional in nature, and it is presumed that thoseskilled in the art are adequately familiar therewith. Device 800 alsomay include input and output ports 850 to connect with input and outputdevices such as keyboards, mice, touchscreens, monitors, displays, etc.Of course, the various server functions may be implemented in adistributed fashion on a number of similar platforms, to distribute theprocessing load. Alternatively, the servers may be implemented byappropriate programming of one computer hardware platform.

The systems, apparatuses, devices, and methods disclosed herein aredescribed in detail by way of examples and with reference to thefigures. The examples discussed herein are examples only and areprovided to assist in the explanation of the apparatuses, devices,systems, and methods described herein. None of the features orcomponents shown in the drawings or discussed below should be taken asmandatory for any specific implementation of any of these theapparatuses, devices, systems, or methods unless specifically designatedas mandatory. For ease of reading and clarity, certain components,modules, or methods may be described solely in connection with aspecific figure. In this disclosure, any identification of specifictechniques, arrangements, etc. are either related to a specific examplepresented or are merely a general description of such a technique,arrangement, etc. Identifications of specific details or examples arenot intended to be, and should not be, construed as mandatory orlimiting unless specifically designated as such. Any failure tospecifically describe a combination or sub-combination of componentsshould not be understood as an indication that any combination orsub-combination is not possible. It will be appreciated thatmodifications to disclosed and described examples, arrangements,configurations, components, elements, apparatuses, devices, systems,methods, etc. can be made and may be desired for a specific application.Also, for any methods described, regardless of whether the method isdescribed in conjunction with a flow diagram, it should be understoodthat unless otherwise specified or required by context, any explicit orimplicit ordering of steps performed in the execution of a method doesnot imply that those steps must be performed in the order presented butinstead may be performed in a different order (e.g., steps may be added,removed, or repeated), or in parallel.

Throughout this disclosure, references to components or modulesgenerally refer to items that logically can be grouped together toperform a function or group of related functions. Like referencenumerals are generally intended to refer to the same or similarcomponents. Components and modules can be implemented in software,hardware, or a combination of software and hardware. The term “software”is used expansively to include not only executable code, for examplemachine-executable or machine-interpretable instructions, but also datastructures, data stores and computing instructions stored in anysuitable electronic format, including firmware, and embedded software.The terms “information” and “data” are used expansively and includes awide variety of electronic information, including executable code;content such as text, video data, and audio data, among others; andvarious codes or flags. The terms “information,” “data,” and “content”are sometimes used interchangeably when permitted by context.

It is intended that the specification and examples be considered asexemplary only, with a true scope and spirit of the disclosure beingindicated by the following claims.

What is claimed is:
 1. A method for displaying content on a user deviceincluding a display, comprising: receiving, via one or more processors,a first set of data including a first subset of the first set of dataunder a first category and a second subset of the first set of dataunder a second category; arranging, via the one or more processors, thefirst set of data into a first sequence of consecutive segments, whereinthe first sequence of consecutive segments comprises a first segmentincluding the first subset of the first set of data and a second segmentincluding the second subset of the first set of data; causing, via theone or more processors, presentation of the first set of data in thearranged first sequence of consecutive segments on the display of theuser device; detecting, via the one or more processors, user inputindicative of a scroll pattern through the first sequence of consecutivesegments; determining, via the one or more processors, a first predictedpause duration for the first segment and a second predicted pauseduration for the second segment; comparing, via the one or moreprocessors, the detected user input to the first predicted pauseduration for the first segment and the second predicted pause durationfor the second segment to determine a preferred category, the preferredcategory being the first category or the second category; and receivingand arranging, via the one or more processors, a second set of databased on the preferred category.
 2. The method of claim 1, wherein thesecond set of data includes a first subset of the second set of data anda second subset of the second set of data, the method furthercomprising: associating, via the one or more processors, the firstsubset of the second set of data with the preferred category.
 3. Themethod of claim 2, wherein the second set of data is arranged such thatthe first subset of the second set of data is followed by the secondsubset of the second set of data.
 4. The method of claim 2, furthercomprising: causing, via the one or more processors, presentation of thefirst subset of the second set of data on the user device such that itis positioned above the second subset of the second set of data on theuser device.
 5. The method of claim 2, further comprising: causing, viathe one or more processors, presentation of the second subset of thesecond set of data on the user device such that it is positioned abovethe first subset of the second set of data on the user device; andautomatically scrolling through the second subset of the second set ofdata to the first subset of the second set of data.
 6. The method ofclaim 1, wherein detecting user input indicative of the scroll patterncomprises: detecting a speed of the scroll pattern; determining whetherthe speed is below a speed threshold for a predetermined period of time;and in response to a determination that the speed is below the speedthreshold for the predetermined period of time, identifying a segmentdisplayed to the user when the speed is below the speed threshold forthe predetermined period of time.
 7. The method of claim 6, wherein theidentified segment is associated with the first category; whereindetermining the preferred category comprises determining that theidentified segment is associated with the first category.
 8. The methodof claim 1, further comprising: in response to receiving the first setof data, determining a previously preferred category; wherein the firstset of data is arranged based on the previously preferred category. 9.The method of claim 1, further comprising: rearranging the first set ofdata based on the preferred category.
 10. The method of claim 9, whereinthe first category is the preferred category and rearranging the firstset of data comprises: positioning the first segment above the secondsegment.
 11. A device for displaying content, comprising: a memory; adisplay; and one or more processors, the one or more processorsconfigured to: receive a first set of data including a first subset ofthe first set of data under a first category and a second subset of thefirst set of data under a second category; arrange the first set of datainto a first sequence of consecutive segments, wherein the firstsequence of consecutive segments comprises a first segment including thefirst subset of the first set of data and a second segment including thesecond subset of the first set of data; display the first set of data inthe arranged first sequence of consecutive segments on the display ofthe device, wherein the device is associated with a user; detect userinput indicative of a scroll pattern of the user through the firstsequence of consecutive segments; determine a first predicted pauseduration for the first segment and a second predicted pause duration forthe second segment; compare the detected user input to the firstpredicted pause duration for the first segment and the second predictedpause duration for the second segment to determine a preferred category,wherein the preferred category is the first or the second category; andreceive and arrange a second set of data based on the preferredcategory.
 12. The device of claim 11, wherein the second set of dataincludes a first subset of the second set of data and a second subset ofthe second set of data, and wherein the one or more processors arefurther configured to: associate the first subset of the second set ofdata with the preferred category.
 13. The device of claim 12, whereinthe second set of data is arranged such that the first subset of thesecond set of data is followed by the second subset of the second set ofdata.
 14. The device of claim 12, wherein the one or more processors arefurther configured to: cause presentation of the first subset of thesecond set of data on the user device such that it is positioned abovethe second subset of the second set of data on the user device.
 15. Thedevice of claim 12, wherein the one or more processors are furtherconfigured to: cause presentation of the second subset of the second setof data on the user device such that it is positioned above the firstsubset of the second set of data on the user device; and automaticallyscroll through the second subset of the second set of data to the firstsubset of the second set of data.
 16. The device of claim 11, whereindetecting user input indicative of the scroll pattern of the userthrough the first sequence of consecutive segments comprises: detectinga speed of the scroll pattern; determining whether the speed is below aspeed threshold for a predetermined period of time; and in response to adetermination that the speed is below the speed threshold for thepredetermined period of time, identifying a segment displayed to theuser when the speed is below the speed threshold for the predeterminedperiod of time.
 17. The device of claim 16, wherein the identifiedsegment is associated with the first category; wherein determining thepreferred category comprises determining that the identified segment isassociated with the first category.
 18. A method for displaying contenton a user device including a display, comprising: receiving, via one ormore processors, a first set of data including a first subset of thefirst set of data under a first category and a second subset of thefirst set of data under a second category; arranging, via the one ormore processors, the first set of data into a first sequence ofsegments, wherein the first sequence of segments comprises a firstsegment including the first subset of the first set of data and a secondsegment including the second subset of the first set of data; causing,via the one or more processors, presentation of the first set of data inthe arranged first sequence of segments on the display of the userdevice; detecting, via the one or more processors, user input indicativeof a scroll pattern of the user through the first sequence of segments;determining, via the one or more processors, a first predicted pauseduration for the first segment and a second predicted pause duration forthe second segment; comparing, via the one or more processors, thedetected user input to the first predicted pause duration for the firstsegment and the second predicted pause duration for the second segmentto determine a preferred category, wherein the preferred category is thefirst category or the second category; and rearranging, via the one ormore processors, the first set of data into a second sequence ofsegments based on the preferred category, the second sequence ofsegments differing from the first sequence of segments.
 19. The methodof claim 18, wherein rearranging the first set of data comprises:repositioning the second segment from a first position below the firstsegment to a second position above the first segment.
 20. The method ofclaim 18, wherein rearranging the first set of data comprises:duplicating the second segment to create a duplicate second segment; andpositioning the second segment in a first position below the firstsegment and the duplicate second segment in a second position above thefirst segment.